
    /**  
    * @Title: CafeLock.java
    * @Package com.efast.cafe.framework.redis.locker.annotation
    * @Description: TODO(用一句话描述该文件做什么)
    * @author Administrator
    * @date 2019年1月18日
    * @version V1.0  
    */
    
package com.efast.cafe.framework.redis.locker.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
    * @ClassName: CafeLock
    * @Description: 分布式锁 注解
    * @author xuanming.feng
    * @date 2019年1月18日
    *
    */
@Target(value = {ElementType.METHOD})
@Retention(value = RetentionPolicy.RUNTIME)
public @interface CafeLock {
	
	String keyGroup();

	/**
     * 锁的名称
     * @return
     */
    String name() default "";
    
    /**
     * 尝试加锁，最多等待时间
     * 默认单位：秒
     * @return
     */
    int waitTime() default Integer.MIN_VALUE;
    /**
     *上锁以后xxx秒自动解锁
     *默认单位 ： 秒
     * @return
     */
    int leaseTime() default Integer.MIN_VALUE;

    /**
     * 自定义业务key
     * @return
     */
     String [] keys() default {};
}
